﻿
namespace Com.FastSearch.SharePoint.Interfaces
{
    /// <summary>
    /// Defines a set of search parameters that can be spedified query-time.
    /// </summary>
    public interface IESPSearchParams
    {
        /// <summary>
        /// The query string which shall be used for the search.<br></br>
        /// </summary>
        string UserQuery { get; }

        /// <summary>
        /// Navigation information used for the search. Each value is a tuple separated
        /// by <see cref="NavSplitCharacter"/>.
        /// </summary>
        string[] Nav { get; }

        /// <summary>
        /// The search parameter required to apply the currently requested navigation.
        /// </summary>
        string NavigationParameter { get; }

        /// <summary>
        /// Scope-navigation information used for the search. Each value is a tuple separated
        /// by <see cref="NavSplitCharacter"/>.
        /// </summary>
        string[] ScopeNav { get; }

        /// <summary>
        /// The search parameter required to apply the currently requested scope-navigation.
        /// </summary>
        string ScopeNavigationParameter { get; }

        /// <summary>
        /// The character used to split the values in each of the parameters in
        /// <see cref="Nav"/> and <see cref="ScopeNav"/>.
        /// </summary>
        char NavSplitCharacter { get; }

        /// <summary>
        /// The number within the result set of the first document to show.
        /// </summary>
        int Start1 { get; }
    }
}
